The present invention relates to information storage systems and, more particularly, to detection of data retrieved from storage in such systems.
Digital data magnetic recording systems store digital data by recording same in a moving magnetic media layer using a storage, or "write", electrical current-to-magnetic field transducer, or "head", positioned immediately adjacent thereto. The data is stored or written to the magnetic media by switching the direction of flow in an otherwise substantially constant magnitude write current that is established in coil windings in the write transducer in accordance with the data. Each write current direction transition results in a reversal of the magnetization direction, in that portion of the magnetic media just then passing by the transducer during this directional switching of the current flow, with respect to the magnetization direction in that media induced by the previous in the opposite direction. In one recording scheme, often termed nonreturn-to-zero inverted (NRZI), each magnetization direction reversal occurring over a short portion of the magnetic media moving past the transducer represents a binary number system digit "1", and the lack of any such reversals in that portion represents a binary digit "0".
Recovery of such recorded digital data is accomplished through positioning a retrieval, or "read" magnetic field-to-voltage transducer, (which may be the same as the storage transducer if both of these transducers rely on inductive coupling between the media fields and the transducer) or "head", is positioned to have the magnetic media, containing previously stored data, pass thereby. Such passing by of the media adjacent to the transducer permits the flux accompanying the magnetization reversal regions in that media either to induce a corresponding voltage pulse in forming an analog output read signal for that retrieval transducer or, alternatively, change a transducer circuit parameter to thereby provide such an output signal voltage pulse. In the coding scheme described above, each such voltage pulse in the read transducer output signal due to the reversal of magnetization directions between adjacent media portions is taken to represent a binary digit "1", and the absence of such a pulse in corresponding media portions is taken to represent a binary digit "0".
Digital data magnetic recording systems have used peak detection methods for the detection of such voltage pulses in the retrieved analog signal as the basis for digitizing this signal. Such methods are based on determining which peaks in that signal exceed a selected threshold to determine that a binary digit "1" related pulse occurred in the retrieved signal, and also use the times between those voltage pulses to reconstruct the timing information used in the preceding recording operation in which the data were stored in the magnetic media as described above. The analog retrieved signal is provided to a phase-locked loop forming a controlled oscillator, or a phase-lock oscillator or synchronizer, which produces an output timing signal, or "clock" signal, from the positions of the detected peaks in this analog retrieved signal. Absolute time is not used in operating the data retrieval system portion since the speed of the magnetic media varies over time during both the storage operation and the retrieval operation to result in nonuniform time intervals, or nonuniform multiples thereof, occurring between the voltage pulses in the analog retrieved signal.
There is always a desire in magnetic recording systems to devote less of the magnetic media along a track therein to the storage of a bit to thereby permit increasing the density of the bits stored. The use of peak detection places a limit on the density of bits along a track because increasing that density beyond some point will lead to too much intersymbol interference which in turn leads to errors in the recovery of data using such peak detection methods. Because of this limit, recent increases in bit density along a track in a magnetic media have come with the acceptance of a controlled, or known, amount of intersymbol interference which, since known, allows detection of the pulses involved despite this interference. The read transducer analog output signal generated from the binary bits or symbols stored in the magnetic media is sampled with the resulting samples being converted to digital data, and the samples are taken at a rate which leads to more than one sample per pulse rather than the single sample per pulse which would be sufficient for peak detection if sampling was used therewith. Since each individual sample reflects only part of the pulse response, this process used in a system results in referring to such a system as a partial response system.
A digital data magnetic recording system comprises a bandpass data retrieval channel in that it is unable to transmit very low frequencies, and has an upper frequency beyond which its transmission is also quite poor. Although there are a number of possible alternative partial response system arrangements, there is substantial value in matching the partial response spectrum to that expected for the data to be transmitted in the channel. A relatively simple partial response system that does not require transmission at very low frequencies is known as a class 4 partial response system, and is typically used in magnetic digital data recording systems. Such a response is obtained by providing an overall channel and filter response equal to that of the sum of two opposite polarity Nyquist channel impulse responses separated in time by two sample intervals. Such an arrangement will lead to a filter analog output signal from which ideally can be obtained three alternative possible sample values of -1, 0 and 1 for an input signal based on binary recorded data if sampled at appropriate instants. The sequence of resulting samples can be viewed as comprising an interleaving of two subsequences, one formed of the odd numbered samples and the other formed of the even numbered samples, in view of each sample value having contributions from only the currently retrieved stored datum and second preceding datum.
A read transducer analog output signal provided through any kind of a data retrieval channel is subject to containing errors therein as a result due to noise, timing errors, gain errors, channel asymmetries and the like encountered in the course of retrieval. As opposed to attempting to determine individually the value represented by every pulse in the read signal as in peak detection, maximum likelihood detection of sequences of such samples is used instead involving estimating which of several possible transmitted symbol sequences caused the received sample sequence based typically on finding the minimum mean squared error between these received samples and each of the possible symbol sequences that may have generated these samples and choosing that symbol sequence giving the smallest such error.
A class 4 partial response system channel can be decomposed into two half-rate channels one of which receives the even-numbered input sample sequence and the other of which receives the odd-numbered input sample sequence to thereby form two dicode channels. Detection of the data represented by these samples provided to each dicode channel can be done independently. Such a dicode channel resulting from this decomposition has an impulse response equal to that of the sum of two opposite polarity Nyquist channel impulse responses separated in time by one dicode data symbol interval based on a one-half full channel sample rate period, this dicode channel resulting in samples of the channel output signal in the absence of random noise having values of EQU y.sub.i =x.sub.i -x.sub.i-1,
where x.sub.i is a data symbol input taken as having binary a value of "1" or "0" to the channel that is obtained from the magnetic recording media at sample interval i, x.sub.i-1 is a similar binary value input to the channel but occurring a dicode channel rate period earlier and reflecting the channel memory, and y.sub.i is the channel response analog output signal at interval i after amplification and filtering. When such channel gain and filtering are applied ideally, and the channel is noiseless, y.sub.i will take on the ideal values of -1, 0 or 1. Otherwise, y.sub.i =x.sub.i -x.sub.i- 1+n.sub.i where n.sub.i is an independent random variable of zero mean representing the additive noise at the sampling instant.
Because of the channel memory, the occurrence of errors in a class 4 partial response system can propagate in the detection system resulting in more errors. This unwanted result can be obviated by appropriately precoding the data to be stored in the magnetic media prior to such storage. The detection process over time for a dicode channel receiving such precoded data can be illustrated by a two state trellis diagram such as that shown in FIG. 1A showing the possible sequence of detection system states resulting from transitions therebetween that can evolve over time. FIG. 1B shows two states, designated "0" and "1", after some sample interval and the transitions between these states which can occur on obtaining the next data symbol after the subsequent sample interval. Each transition is represented by an arrow, or branch, with a pair of values in parentheses adjacent thereto showing a possible next expected data sample after being in the preceding state on the left, and the corresponding data symbol value on the right. The trellis diagram of FIG. 1A is shown assuming the detection system was initially in the "0" state and is depicted for a sequence of samples of arbitrary length, the diagram having each sample interval marked below the corresponding states the system could be in at that instant. A sequence of contiguous branches from the beginning to the end is a path through the diagram corresponding to a possible input sequence of data symbol values.
A maximum likelihood sequence detector for such a dicode channel is provided by defining a branch metric based on finding the "Euclidean distance" between an observed sample value and anticipated possible sample values for each branch of the trellis diagram at each sampling interval multiple i as a measure of how close the observed sample, y.sub.i, in the presence of random noise, is to the possible expected sample value at that branch. Thus, for a branch corresponding to a transition from a "1" state to a "0" state at time i, the branch metric B.sub.in, in view of expecting a -1 sample value, is EQU B.sub.in (y.sub.i +1).sup.2 =y.sub.i.sup.2 +2y.sub.i +1,
assuming additive, zero mean noise is present in the channel. The branch metric B.sub.ip corresponding to a trellis diagram transition from a "0" state to a "1" state at time i, in view of expecting a+1 sample value, is EQU B.sub.ip =(y.sub.i -1).sup.2 =y.sub.i.sup.2 -2y.sub.i +1.
Finally, the branch metric B.sub.iz corresponding to either of the transitions from either of the states in the trellis diagram to the same state, i.e. from either state "0" to state "0" or from state "1" to state "1", at time i, in view of expecting a 0 sample value, is EQU B.sub.iz =(y.sub.i -0).sup.2 =y.sub.i.sup.2.
In the foregoing equations, the presence of common values in each of the equations does nothing to aid the detector in distinguishing between the values of the branch metrics, and thus, the term y.sub.i.sup.2 can be dropped from each of these metrics. Similarly, multiplying each of the metrics by a common factor does nothing to alter the ability of the detector to distinguish between the distances represented thereby, and so each of the metrics can be multipled by a factor of one-half. A further possibility is to drop common factors in each metric to ease computation. Hence, the standard metrics used for such a maximum likelihood detector can be made quite simple to ease the computations of the branch metrics by using the following metrics rather than the above or original Euclidean distance based metrics yielding ##EQU1## and ##EQU2##
The maximum likelihood sequence detector could then calculate such branch metrics for every branch in the trellis diagram. Each path through that trellis diagram can have a corresponding path metric calculated for it which is the sum of the branch metrics occurring therein. The path through the trellis diagram with the smallest path metric is chosen as the most likely path, and the anticipated channel output samples corresponding to that path are chosen as the most likely sequence of binary inputs to the channel.
However, as the trellis diagram expands in length over time, resort must be had to the Viterbi algorithm since continuing such calculations for the entire path quickly grows beyond the capabilities of any reasonable calculating and memory capacities provided for such purpose. As the path metric for any path through any state node in the trellis diagram is the sum of the partial path metrics for those portions of the path to the left of the node and to the right of any node, a detector need only choose the smallest partial path metric to the left of the node, i.e. the survivor path for that node. The detector needs to find and retain the survivor path for each node until the final node of the trellis diagram is reached, for instance, at the end of a code word, and then note the survivor path for that node to determine the optimal path metric.
Although additive random noise of zero mean value was considered in the foregoing, data retrieval or read channels, including dicode read channels, are subject to deficiencies in addition to random noise. Such deficiencies can include gain errors across the channel and offset errors or other asymmetries in addition to such random noise. In these circumstances, use of the foregoing standard branch metrics can lead to additional unwanted error in the detection process. Thus, there is desired a Viterbi detector using metrics which will result in reduced errors but without undue data manipulation and computational complexity.